---
title: lefthook
description: Rith Ultracite go huathoibríoch ar do chomhaid Git atá stádáilte le lefthook
---

Soláthraíonn Ultracite comhtháthú réidh le [lefthook](https://lefthook.dev/), bainisteoir hooks Git tapa agus cumhachtach. Socraíonn an comhtháthú seo hooks pre-commit go huathoibríoch chun a chinntiú go bhfuil do chód formáidithe i gceart sula ndéantar gach commit.

## Cad é lefthook?

Is bainisteoir native hooks Git tapa é lefthook do thionscadail Node.js agus Go. Tá sé deartha chun a bheith simplí, tapa agus cumhachtach, ag ligean duit bainistiú a dhéanamh ar hooks Git ar fud do fhoireann trí chomhaid chumraíochta is féidir a chur sa stóras.

## Conas a úsáideann Ultracite lefthook

Nuair a thionscnaíonn tú Ultracite i do thionscadal, is féidir leis lefthook a chumrú go huathoibríoch chun reamh-formáidiú cód a rith sula ndéantar gach commit. Cinntíonn sé seo go:

- **Gach cód a comhlánaíodh** leanann caighdeáin fhormáidiúcháin chomhleanúnacha
- **Seiceálacha cáilíochta cód** a chuirtear i bhfeidhm go huathoibríoch
- **Ní gá do bhaill foirne cuimhneamh** cód a fhormáidiú de láimh
- **Coinníonn do stóras stíle cód glan, comhsheasmhach**

## Iompar an pre-commit hook

Cruthaíonn comhtháthú lefthook Ultracite pre-commit hook a ritheann an t-ordú seo a leanas:

```bash
npx ultracite fix
```

Ritheann an t-ordú seo:
- Ritheann linter agus formáideoir Biome ar do bhunachar cód
- Déanann sé saincheisteanna formáideachta a shocrú go huathoibríoch áit is féidir
- Cinntíonn sé go gcomhlíonann na comhaid stádáilte caighdeáin chód do thionscadail
- Coscann sé commits a d’fhéadfadh neamhriachtanais formáideachta a ionchorprú

## Cumraíocht Uathoibríoch

Le linn an phróisis tosaigh (`ultracite init`), má roghnaíonn tú an rogha lefthook, déanann Ultracite:

1. **Suiteálann lefthook**: Cuirfidh sé lefthook mar spleáchas forbartha le do thionscadal
2. **Tosaíonn lefthook**: Ritheann sé `lefthook install` chun hooks Git a chur ar bun
3. **Cruthaíonn Cumraíocht**: Socraíonn sé an comhad `lefthook.yml` leis an ordú formáidithe
4. **Bainistíonn Socruithe Reatha**: Má tá lefthook cumraithe agat cheana, nuashonraíonn sé do chumraíocht reatha seachas í a scríobh anuas

## Sonraí an Chomhtháthaithe

Cuimsíonn an comhtháthú lefthook roinnt gnéithe cliste:

### Bainistíocht Spleáchais
- Suiteálann sé lefthook go huathoibríoch mar spleáchas forbartha ag úsáid bainisteora pacáistíochta do thionscadail
- Úsáideann sé an t-ordú bainisteora pacáistíochta cuí (`npm install -D`, `yarn add -D`, `pnpm add -D`, srl.)
- Ritheann sé `lefthook install` chun hooks Git a thosú

### Bainistíocht Cumraíochta
- **Tionscadail Nua**: Cruthaíonn sé comhad nua `lefthook.yml` leis an ordú `ultracite fix`
- **Tionscadail atá ann cheana**: Cuirfidh sé an t-ordú Ultracite le do chumraíocht lefthook atá ann cheana, ag coimeád na hooks eile atá cumraithe agat

### Struchtúr Comhaid
Cruthaíonn nó modhnóidh an comhtháthú:
```
lefthook.yml    # Contains the formatting command configuration
```

## Buntáistí

- **Comhsheasmhacht Fhoirne**: Faigheann gach ball foirne an fhormáidiú céanna go huathoibríoch
- **Gan Aon Chumraíochta**: Oibríonn sé as an mbosca le réamhshocruithe réasúnta
- **Feidhmíocht Thapa**: Tá lefthook scríofa i Go agus tá sé an-tapa
- **Solúbthacht**: Éasca le síneadh le horduithe agus hooks bhreise
- **Tras-ardán**: Oibríonn sé go comhsheasmhach ar oibreacha a oibriúcháin éagsúla

## Comhtháthú Sreabhadh Oibre

Oireann comhtháthú lefthook go réidh i do shruth oibre forbartha:

1. **Déanann an forbróir athruithe** ar chomhaid chód
2. **Stádaíonn sé comhaid** don commit le `git add`
3. **Déanann sé iarracht commit** le `git commit`
4. **Gabhann lefthook** an pre-commit hook go huathoibríoch
5. **Ritheann Ultracite** agus formáidíonn sé na comhaid stádáilte
6. **Leanann an commit ar aghaidh** má éiríonn leis an formáidiú, nó **teipíonn sé** má tá fadhbanna nach bhféadfaí a shocrú go huathoibríoch

## Saincheapadh

Cé go socraíonn Ultracite réamhshocruithe réasúnta, is féidir leat an iompar a shaincheapadh:

- Athraigh `lefthook.yml` chun orduithe nó hooks breise a chur leis
- Cumraigh socruithe Biome chun rialacha formáideachta a choigeartú
- Cuir seiceálacha pre-commit eile le taobh formáide Ultracite
- Úsáid gnéithe láidre lefthook cosúil le feidhmiú comhuaineach agus loighic choinníollach

## Réiteach Fadhbanna

### Ní rithfidh an pre-commit hook
Má níl an pre-commit hook ag rith:
- Déan cinnte go bhfuil lefthook suiteáilte: `npm ls lefthook`
- Seiceáil go bhfuil `lefthook.yml` ann agus go bhfuil an t-ordú ultracite ann
- Deimhníigh go bhfuil hooks Git ar siúl i do stóras
- Rith `lefthook install` chun na hooks a athshuiteáil

### Fadhbanna Ceadanna
Bainistíonn lefthook ceadanna hooks Git go huathoibríoch, ach má bhuaileann tú le fadhbanna:
- Déan iarracht `lefthook install` arís
- Seiceáil go gceadaíonn do chumraíocht Git hooks

### Seachaint Hooks
I gcásanna annamha, nuair is gá duit an pre-commit hook a sheachaint:
```bash
git commit --no-verify
```

Bain úsáid as seo go caolchúiseach, mar go seachnaíonn sé an formáidiú uathoibríoch a choinníonn do bhunachar cód comhsheasmhach.

## Sampla Cumraíochta

Seo mar a fhéachann an chumraíocht `lefthook.yml`:

```yaml
pre-commit:
  jobs:
    - run: npx ultracite fix
      glob: 
        - "*.js"
        - "*.jsx"
        - "*.ts"
        - "*.tsx"
        - "*.json"
        - "*.jsonc"
        - "*.css"
      stage_fixed: true
```

Cuireann an chumraíocht seo:
- Ní rithfidh sé ach ar chomhaid JavaScript, TypeScript, JSON agus CSS
- Déanfaidh sé comhaid ar bith a ndearnadh fabhtú orthu ag an formáideoir a stáidiú go huathoibríoch
- Úsáideann sé an sintéis éifeachtach `jobs` chun feidhmíocht níos fearr a bhaint amach

Is féidir leat an chumraíocht seo a síniú chun poist bhreise a áireamh:

```yaml
pre-commit:
  jobs:
    - run: npx ultracite fix
      glob: 
        - "*.js"
        - "*.jsx"
        - "*.ts"
        - "*.tsx"
        - "*.json"
        - "*.jsonc"
        - "*.css"
      stage_fixed: true
    - run: npm test
      glob: "*.{js,ts}"
    - run: tsc --noEmit
      glob: "*.{ts,tsx}"
```